#ifndef _BROWSER_HISTORY__H_
#define _BROWSER_HISTORY__H_

#include <QWidget>
#include <QString>
#include <QUrl>
#include <QFile>
#include "ui_browserhistory.h"

/**
 * browserhistory.h browserhistory.cpp (DOUGLAS)
 *
 * Mostra o historico de navegação. Não é persistente, somente salva
 * da sessão atual.(ver QWebHistoryInterface)
 */
class BrowserHistory : public QWidget
 {
	 Q_OBJECT

public:

	/** Constroi lista vazia de historico */
	BrowserHistory(QWidget *parent=0);

private:

	Ui::HistoryWidget ui;

	QFile *history_file;

	QStringList history_entrys;

	/*
	 * Lê todo as entradas salvas no arquivo history_file.qtb
	 */
	void readFileContent();

public slots:

	/** Adiciona entrada ao historico(ver QWebHistoryInterface) */
//	void addHistoryEntry ( const QString& url );

	void addHistoryEntry (const QUrl& url);

	bool historyContains ( const QString& url ) const;

	void entryClicked(QTreeWidgetItem * item, int column);

signals:

	/** Emitido quando o usuario clica em uma entrada do historico */
	void historyEntrySelected( const QUrl &url);
};

#endif /* _BROWSER_HISTORY__H_ */
